From: Guido Günther Date: Sun, 4 Jan 2026 12:07:28 +0000 (+0100) Subject: mixer-control: Always sync devices X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2^2^2^2^2~10 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=46a96513dcf504816cedf957682982474caf7f01;p=gnome-shell.git mixer-control: Always sync devices This ensures any changes ports get updated, otherwise we'll fail to match the updated port. Signed-off-by: Guido Günther Origin: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/merge_requests/31 Bug: https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/issues/34 Bug-Debian: https://bugs.debian.org/1126514 Applied-upstream: gnome-shell 50, commit:798230599950607ec285daecd070f5bcb28580e4 Gbp-Pq: Topic libgvc Gbp-Pq: Name mixer-control-Always-sync-devices.patch --- diff --git a/subprojects/gvc/gvc-mixer-control.c b/subprojects/gvc/gvc-mixer-control.c index a6aaf2e28..74f9193a1 100644 --- a/subprojects/gvc/gvc-mixer-control.c +++ b/subprojects/gvc/gvc-mixer-control.c @@ -1507,6 +1507,10 @@ update_sink (GvcMixerControl *control, gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume); gvc_mixer_stream_set_state (stream, translate_pa_state (info->state)); + /* Sync devices as the port on the stream might have changed */ + if (!is_new) + sync_devices (control, stream); + /* Messy I know but to set the port everytime regardless of whether it has changed will cost us a * port change notify signal which causes the frontend to resync. * Only update the UI when something has changed. */ @@ -1638,6 +1642,10 @@ update_source (GvcMixerControl *control, gvc_mixer_stream_set_base_volume (stream, (guint32) info->base_volume); g_debug ("update source"); + /* Sync devices as the port on the stream might have changed */ + if (!is_new) + sync_devices (control, stream); + if (info->active_port != NULL) { if (is_new) gvc_mixer_stream_set_port (stream, info->active_port->name);